Some companies and organizations employ data centers to address significant user demand for online content and services. A data center is a facility used to house computer systems and associated components, such as telecommunications and storage systems. A data center may include redundant or backup power supplies, redundant data communications connections, environmental controls (e.g., air conditioning, fire suppression), and various security devices. A data center may contain multiple computing devices hosting services that are client-facing (or that are used to respond directly to client requests) and services that are internal-facing (or that are used to respond to requests from components within the data center itself or from another affiliated data center).
Some companies employ multiple data centers to serve online content and services to end-users. However, different groups of data centers may operate under different paradigms. For example, in one paradigm, different data centers in a group host different content and/or services. Thus, for example, a piece of content is assigned to a first data center in a group and, while external requests for that piece of content may be handled by all data centers in the group, each data center forwards the external requests to the first data center.
In a different paradigm, multiple data centers in a group host the same content and/or services. Thus, all data centers have local access to certain data and services and, accordingly, may individually handle external requests without relying on communicating with other data centers in the group. In this way, data centers may be distributed globally, which results in lower latency for end-users of a data center.
Even in this latter paradigm, however, there may be operations that only a single data center in a group should perform even though multiple data centers in the group may be configured to perform those operations. A reason for restricting the performance of certain operations to a single data center may be due to the nature of the content. However, copying content across multiple data centers may help in case one data center becomes unavailable, such as in response to an unplanned failure or in response to a planned shutdown, which may be performed for various maintenance reasons. Another data center in the group can take over as the “home” data center for those operations.
One problem with only a single home data center performing certain operations is that a failover data center will need to take over for the home data center if/when the home data center becomes unavailable. The failover other data center may not perform the operations properly for any number of reasons which will not be discovered until after the failover home data center actually performs those operations. When a failure in performing the operations is detected in the failover home center, a significant amount of time may be needed to discover the cause(s) of the failure. Thus, it is possible that the operations may not be performed by any data center for a significant amount of time until the failure's causes are discovered and resolved.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.